package implementations; import java.util.ArrayList; import java.util.List; import java.util.Map; import interfaces.MiddlewareInterface; import model.Filter; import model.Key; import model.Row; import org.apache.thrift.TException; import org.apache.thrift.transport.TTransportException; import org.hypertable.thrift.ThriftClient; import org.hypertable.thriftgen.ClientException; public class HypertableHandler implements MiddlewareInterface { public static ThriftClient CLIENT; public static long NAMESPACE; public void connectToDatabase(String host, String port){ try { CLIENT = ThriftClient.create(host, Integer.parseInt(port)); NAMESPACE = CLIENT.namespace_open("test"); } catch (TTransportException e) { e.printStackTrace(); } catch (TException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } @Override public void alterTableAddColumn(String tableName, String columnName) { HypertableQueryHandler.alterTableAddColumn(tableName, columnName); } @Override public void createNamespace(String namespaceName) { HypertableQueryHandler.createNamespace(namespaceName); } @Override public void createTable(String tableName, String primaryKey) { HypertableQueryHandler.createTable(tableName, primaryKey); } @Override public void deleteTable(String tableName) { HypertableQueryHandler.deleteTable(tableName); } @Override public void insertRows(String tableName, List<Row> rows) { HypertableQueryHandler.insertItems(tableName, rows); } @Override public Row getRowByKey(String tableName, Key... combinedKey) { return HypertableQueryHandler.getRowByKey(tableName, combinedKey[0].getValue()); } @Override public List<Row> getRowsByKeys( Map<String, ArrayList<Map<String, String>>> tableNamesWithKeys) { return null; } @Override public List<Row> getRows(String tableName, String conditionalOperator, Filter... filters) { return HypertableQueryHandler.scanTable(tableName, conditionalOperator, filters); } @Override public List<String> getTableNames() { return HypertableQueryHandler.listTables(); } }